Wireless transmission of server status information

ABSTRACT

A system, according to one embodiment, includes: a wireless communication device operable to establish a wireless connection and transmit server status information over the wireless connection. The system also includes an optical sensor which is operable to detect optical signals from an optical source of a server. The wireless communication device and the optical sensor are coupled together by a physical or wireless connection. Other systems, methods, and computer program products are described in additional embodiments.

FIELD OF THE INVENTION

The present disclosure relates to the server management, and moreparticularly, to detecting server status information using opticalsensors, and the transmission of the server status information.

BACKGROUND

A server typically includes a computer program or a device that providesfunctionality for other programs or devices. This style of architectureallows for a single computation to be distributed across multipleprocesses or devices. As such, servers can provide variousfunctionalities.

Moreover, remote access to, and/or control over, a server is typicallyachieved by coupling the server to an Ethernet access connection.However, multiple servers may be stored in a given server rack (orchassis), where some racks are able to hold 40 servers or more. Thus, arack storing 40 servers may have 40 wired Ethernet connections, eachleading to a switch somewhere in the rack.

A mid-level server typically includes a baseboard management controller(BMC) which is responsible for checking and reporting the health of theserver. The BMC from one vendor to the next may have differentinterfaces for the user to access the error information, or in somecases, the error information is not accessible at all from the BMC. Eachserver vendor designs the BMC with a different set of capabilities andinterfaces, making the access of error information oftenvendor-specific. There are common interfaces, such as IntelligentPlatform Management Interface (IPMI), that generally cover errors butmay not report all errors asserted by the operating system, e.g., suchas Peripheral Component Interconnect Express (PCIe) slot errors for aNon-Volatile Memory Express (NVMe) drive. Furthermore, for ultra-low-endservers, there may not even be a BMC in the server (e.g., such as fordesktop-class servers), and therefore there is no ability to accessout-of-band errors.

Each of the servers also typically include light indicators, e.g., lightemitting diodes (LEDs), integrated with the outer surface of a housingthereof. Each of the light indicators correspond to a particular aspectof the associated server, and may thereby be used to display differentstatuses of a server by selectively outputting optical signals from thelight indicators. Thus, it is often easier for a user (e.g., such as thedatacenter administrator) to walk the aisles of a conventionaldatacenter having a plurality of servers looking for errors rather thanattempting to manage the different BMCs associated with the variousservers in the datacenter. However, with a large number of servers in agiven data center or storage rack thereof, it is exceedingly difficultto efficiently determine what the optical signals of the various lightindicators are, much less determine when an optical signal of any of thelight indicators on any one of the servers has changed. As such, thereis increased likelihood of servers not being serviced properly.

Thus, it would be beneficial to provide systems, methods, computerprogram products and the like which overcome these server lightindicator shortcomings. Accordingly, the ability to efficiently detectand decode the optical signals from multiple light indicators on variousservers in a rack is desirable.

SUMMARY

A system, according to one embodiment, includes: a wirelesscommunication device operable to establish a wireless connection andtransmit server status information over the wireless connection. Thesystem also includes an optical sensor which is operable to detectoptical signals from an optical source of a server. The wirelesscommunication device and the optical sensor are coupled together by aphysical or wireless connection.

A computer program product, according to another embodiment, includes anon-transitory computer readable storage medium. The computer readablestorage medium has program code stored thereon. Furthermore, the programcode is executable by a computer to cause the computer to perform aprocess which includes: establishing, by a wireless communicationdevice, a wireless connection between a mobile device and the wirelesscommunication device. The wireless communication device is coupled to anoptical sensor and the optical sensor is positioned to detect opticalsignals from an optical source of a server. Moreover, server statusinformation corresponding to optical signals detected by the opticalsensor is received, by the wireless communication device. The serverstatus information is further transmitted, by the wireless communicationdevice, to the mobile device via the wireless connection.

A computer program product, according to yet another embodiment,includes a non-transitory computer readable storage medium. The computerreadable storage medium has program code stored thereon. Furthermore,the program code is executable by a computer to cause the computer toperform a process which includes: receiving, by a device,representations of optical signals detected by an optical sensor. Theoptical sensor is positioned to detect optical signals from an opticalsource of the server. Moreover, the representations of the opticalsignals are decoded, by the device, to determine server statusinformation corresponding to a server.

Other aspects and advantages of the present invention will becomeapparent from the following detailed description, which, when taken inconjunction with the drawings, illustrate by way of example theprinciples of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic drawing of a computer network environment,according to one approach.

FIG. 2 is a simplified schematic of a computing workstation, accordingto one embodiment.

FIG. 3A is simplified schematic view of a system, according to oneembodiment.

FIG. 3B is a partial detailed view of the system in FIG. 3A taken alongline 3B.

FIG. 3C is a partial detailed view of a sheet having optical sensors,according to one embodiment.

FIG. 4 is a flowchart of a method, according to one embodiment.

FIG. 5 is a flowchart of a method, according to one embodiment.

DETAILED DESCRIPTION

The following description is made for the purpose of illustrating thegeneral principles of the present invention and is not meant to limitthe inventive concepts claimed herein. Further, particular featuresdescribed herein can be used in combination with other describedfeatures in each of the various possible combinations and permutations.

Unless otherwise specifically defined herein, all terms are to be giventheir broadest possible interpretation including meanings implied fromthe specification as well as meanings understood by those skilled in theart and/or as defined in dictionaries, treatises, etc.

It must also be noted that, as used in the specification and theappended claims, the singular forms “a,” “an” and “the” include pluralreferents unless otherwise specified.

The following description discloses several preferred embodiments ofefficiently detect and decode the optical signals from multiple lightindicators on various servers and/or related systems and methods.Accordingly, some of the embodiments described herein introduce theability to manage multiple servers in a rack. Moreover, wirelessconnections to systems implementing such optical sensors may furtherintroduce the ability to manage multiple servers in a rack withoutphysically inspecting each one, as will be described in further detailbelow.

In one general embodiment, a system includes: a wireless communicationdevice, and one or more optical sensors. The wireless communicationdevice and the one or more optical sensors are coupled together by aphysical or wireless connection, and the wireless communication deviceis operable to establish a direct wireless connection and transmitserver status information over the direct wireless connection.Furthermore, the one or more optical sensors are operable to detectoptical signals from one or more optical sources of one or more servers.

In another general embodiment, a method includes: establishing, by awireless communication device, a direct wireless connection between amobile device and the wireless communication device, the wirelesscommunication device being coupled to one or more optical sensors,receiving, by the wireless communication device, server statusinformation corresponding to optical signals detected by the one or moreoptical sensors, and transmitting, by the wireless communication device,the server status information to the mobile device via the directwireless connection. The one or more optical sensors are positioned todetect optical signals from one or more optical sources of one or moreservers.

In yet another general embodiment, a method includes: receiving, by adevice, representations of optical signals detected by one or moreoptical sensors, and decoding, by the device, the representations of theoptical signals to determine server status information corresponding toone or more servers. The one or more optical sensors are positioned todetect optical signals from one or more optical sources of the one ormore servers.

General Computing Concepts

The description herein is presented to enable any person skilled in theart to make and use the invention and is provided in the context ofparticular applications of the invention and their requirements. Variousmodifications to the disclosed embodiments will be readily apparent tothose skilled in the art and the general principles defined herein maybe applied to other embodiments and applications without departing fromthe spirit and scope of the present invention. Thus, the presentinvention is not intended to be limited to the embodiments shown, but isto be accorded the widest scope consistent with the principles andfeatures disclosed herein.

In particular, various embodiments of the invention discussed herein areimplemented using the Internet as a means of communicating among aplurality of computer systems. One skilled in the art will recognizethat the present invention is not limited to the use of the Internet asa communication medium and that alternative methods of the invention mayaccommodate the use of a private intranet, a Local Area Network (LAN), aWide Area Network (WAN) or other means of communication. In addition,various combinations of wired, wireless (e.g., radio frequency) andoptical communication links may be utilized.

The program environment in which one embodiment of the invention may beexecuted illustratively incorporates one or more general-purposecomputers or special-purpose devices such hand-held computers. Detailsof such devices (e.g., processor, memory, and data storage, input andoutput devices) are well known and are omitted for the sake of clarity.

It should also be understood that the techniques of the presentinvention might be implemented using a variety of technologies. Forexample, the methods described herein may be implemented in softwarerunning on a computer system, or implemented in hardware utilizing oneor more processors and logic (hardware and/or software) for performingoperations of the method, application specific integrated circuits,programmable logic devices such as Field Programmable Gate Arrays(FPGAs), and/or various combinations thereof. In one illustrativeapproach, methods described herein may be implemented by a series ofcomputer-executable instructions residing on a storage medium such as aphysical (e.g., non-transitory) computer-readable medium. In addition,although specific embodiments of the invention may employobject-oriented software programming concepts, the invention is not solimited and is easily adapted to employ other forms of directing theoperation of a computer.

The invention can also be provided in the form of a computer programproduct comprising a computer readable storage or signal medium havingcomputer code thereon, which may be executed by a computing device(e.g., a processor) and/or system. A computer readable storage mediumcan include any medium capable of storing computer code thereon for useby a computing device or system, including optical media such as readonly and writeable CD and DVD, magnetic memory or medium (e.g., harddisk drive, tape), semiconductor memory (e.g., FLASH memory and otherportable memory cards, etc.), firmware encoded in a chip, etc.

A computer readable signal medium is one that does not fit within theaforementioned storage medium class. For example, illustrative computerreadable signal media communicate or otherwise transfer transitorysignals within a system, between systems e.g., via a physical or virtualnetwork, etc.

FIG. 1 illustrates an architecture 100, in accordance with oneembodiment. As an option, the present architecture 100 may beimplemented in conjunction with features from any other embodimentlisted herein, such as those described with reference to the other FIGS.Of course, however, such architecture 100 and others presented hereinmay be used in various applications and/or in permutations which may ormay not be specifically described in the illustrative embodiments listedherein. Further, the architecture 100 presented herein may be used inany desired environment.

As shown in FIG. 1, a plurality of remote networks 102 are providedincluding a first remote network 104 and a second remote network 106. Agateway 101 may be coupled between the remote networks 102 and aproximate network 108. In the context of the present networkarchitecture 100, the networks 104, 106 may each take any formincluding, but not limited to a LAN, a WAN such as the Internet, publicswitched telephone network (PSTN), internal telephone network, etc.

In use, the gateway 101 serves as an entrance point from the remotenetworks 102 to the proximate network 108. As such, the gateway 101 mayfunction as a router, which is capable of directing a given packet ofdata that arrives at the gateway 101, and a switch, which furnishes theactual path in and out of the gateway 101 for a given packet.

Further included is at least one data server 114 coupled to theproximate network 108, and which is accessible from the remote networks102 via the gateway 101. It should be noted that the data server(s) 114may include any type of computing device/groupware. Coupled to each dataserver 114 is a plurality of user devices 116. Such user devices 116 mayinclude a desktop computer, laptop computer, hand-held computer, printeror any other type of logic. It should be noted that a user device 111may also be directly coupled to any of the networks, in one embodiment.

A peripheral 120 or series of peripherals 120, e.g. facsimile machines,printers, networked storage units, etc., may be coupled to one or moreof the networks 104, 106, 108. It should be noted that databases,servers, and/or additional components may be utilized with, orintegrated into, any type of network element coupled to the networks104, 106, 108. In the context of the present description, a networkelement may refer to any component of a network.

According to some approaches, methods and systems described herein maybe implemented with and/or on virtual systems and/or systems whichemulate one or more other systems, such as a UNIX system which emulatesa MAC OS environment, a UNIX system which virtually hosts a MICROSOFTWINDOWS environment, a MICROSOFT WINDOWS system which emulates a MAC OSenvironment, etc. This virtualization and/or emulation may be enhancedthrough the use of VMWARE software, in some embodiments.

In more approaches, one or more networks 104, 106, 108, may represent acluster of systems commonly referred to as a “cloud.” In cloudcomputing, shared resources, such as processing power, peripherals,software, data processing and/or storage, servers, etc., are provided toany system in the cloud, preferably in an on-demand relationship,thereby allowing access and distribution of services across manycomputing systems. Cloud computing typically involves an Internet orother high speed connection (e.g., 4G LTE, fiber optic, etc.) betweenthe systems operating in the cloud, but other techniques of connectingthe systems may also be used.

FIG. 2 shows a representative hardware environment associated with auser device 116 and/or server 114 of FIG. 1, in accordance with oneembodiment. Such figure illustrates a typical hardware configuration ofa workstation having a central processing unit 210, such as amicroprocessor, and a number of other units interconnected via a systembus 212.

The workstation shown in FIG. 2 includes a Random Access Memory (RAM)214, Read Only Memory (ROM) 216, an I/O adapter 218 for connectingperipheral devices such as disk storage units 220 to the bus 212, a userinterface adapter 222 for connecting a keyboard 224, a mouse 226, aspeaker 228, a microphone 232, and/or other user interface devices suchas a touch screen and a digital camera (not shown) to the bus 212,communication adapter 234 for connecting the workstation to acommunication network 235 (e.g., a data processing network) and adisplay adapter 236 for connecting the bus 212 to a display device 238.

The workstation may have resident thereon an operating system such asthe Microsoft WINDOWS Operating System (OS), a MAC OS, a UNIX OS, etc.It will be appreciated that a preferred embodiment may also beimplemented on platforms and operating systems other than thosementioned. A preferred embodiment may be written using JAVA, XML, C,and/or C++ language, or other programming languages, along with anobject oriented programming methodology. Object oriented programming(OOP), which has become increasingly used to develop complexapplications, may be used.

Moreover, a system according to various embodiments may include aprocessor and logic integrated with and/or executable by the processor,the logic being configured to perform one or more of the process stepsrecited herein. By integrated with, what is meant is that the processorhas logic embedded therewith as hardware logic, such as an applicationspecific integrated circuit (ASIC), a FPGA, etc. By executable by theprocessor, what is meant is that the logic is hardware logic; softwarelogic such as firmware, part of an operating system, part of anapplication program; etc., or some combination of hardware and softwarelogic that is accessible by the processor and configured to cause theprocessor to perform some functionality upon execution by the processor.Software logic may be stored on local and/or remote memory of any memorytype, as known in the art. Any processor known in the art may be used,such as a software processor module and/or a hardware processor such asan ASIC, a FPGA, a central processing unit (CPU), an integrated circuit(IC), a graphics processing unit (GPU), etc.

As previously mentioned, a mid-level server typically includes a BMCwhich is responsible for checking and reporting the health of theserver. The BMC from one vendor to the next may have differentinterfaces for the user to access the error information, or in somecases, the error information is not accessible at all from the BMC. Eachserver vendor designs the BMC with a different set of capabilities andinterfaces, making access to error information often vendor-specific.Moreover, some ultra-low-end servers may not even include a BMC, andtherefore do not provide the ability to access out-of-band errors.

In view of the foregoing shortcomings, it is often easier for a user(e.g., such as the datacenter administrator) to walk the aisles of aconventional datacenter having a plurality of servers looking forerrors. Servers typically include light indicators (e.g., LEDs)integrated with the outer surface of a housing thereof. Each of thelight indicators correspond to a particular aspect of the associatedserver, and may thereby be used to display different statuses of aserver by selectively outputting optical signals from the lightindicators. However, different servers from different vendors implementlight indicators in varied styles and configurations. With a largenumber of servers in a given storage rack, it is exceedingly difficultto efficiently determine what the optical signals of the various lightindicators are, much less determine when an optical signal of any of thelight indicators on any one of the servers has changed for conventionalsystems that do not have a BMC implemented therein. As such, there isincreased likelihood of servers not being serviced properly.

Thus, it would be beneficial to provide systems, methods, computerprogram products and the like which overcome these conventionalshortcomings. Accordingly, the ability to efficiently detect and decodethe optical signals from multiple light indicators on various servers ina rack is desirable. The following description discloses severalpreferred embodiments which introduce the ability to manage multipleservers in a rack by efficiently detecting and decoding the opticalsignals from multiple light indicators on various servers. Moreover,wireless connections to systems implementing such optical sensors mayfurther introduce the ability to manage multiple servers in a rackwithout physically inspecting each one, as will be described in furtherdetail below.

Looking to FIGS. 3A-3B, a system 300 is illustrated in accordance withone embodiment. As an option, the present system 300 may be implementedin conjunction with features from any other embodiment listed herein,such as those described with reference to the other FIGS., such as FIGS.1-2. However, such system 300 and others presented herein may be used invarious applications and/or in permutations which may or may not bespecifically described in the illustrative embodiments listed herein.Further, the system 300 presented herein may be used in any desiredenvironment. Thus FIGS. 3A-3B (and the other FIGS.) may be deemed toinclude any possible permutation.

In FIG. 3A, system 300 includes a storage rack 302 which has a pluralityof servers 304, 306 coupled thereto. The middle and leftmost servers 304are designed according to a first format, while the rightmost server 306is designed according to a second format. As alluded to above, servershaving different formats (e.g., corresponding to different vendors) mayimplement light indicators in varied styles and configurations. Thus,looking to the servers 304 corresponding to the first format compared tothe servers 306 corresponding to the second format, optical sources 308thereof are oriented differently.

The optical sources 308 are integrated with an outer surface of each ofthe servers 304, 306 according to the respective format. The opticalsources 308 may include any desired type of optical signal sourcecapable of emitting an optical signal (e.g., optical light). Accordingto an illustrative approach, one or more of the optical sources 308 mayinclude LEDs that are capable of emitting optical light at any desiredfrequency, wavelength (color), intensity (e.g., brightness), etc. Insome approaches, the absence of an optical signal may be detected andused to convey server status information. Each of the optical sources308 may correspond to one or more particular aspects of an associatedserver, and may thereby display optical signals which correspond toserver status information related to the one or more particular aspects.For example, one of the optical sources 308 may correspond to the statusof a power supply of the associated server, and the optical source 308emits a solid (steady) green light (optical signal) while the server isreceiving sufficient power. However, when the server is no longerreceiving a sufficient supply of power, the optical source 308 may emita flashing red light. According to other examples, an optical signalemitted by specific ones of the optical sources 308 may correspond tothe status of the physical connection between the respective server anda storage drive, the status of a wireless connection established by awireless module (not shown) in the respective server, an error messagecorresponding to any one or more of the components included in therespective server, etc., or any other desired server status information.It follows that the optical sources 308 may thereby be used to displaydifferent statuses of the various aspects of the server by selectivelyoutputting optical signals which correspond to the server statusinformation.

As shown, system 300 further includes a plurality of optical sensors310, each of which may be operable to detect optical signals emittedfrom respective ones of the optical sources 308 of the servers 304, 306.According to some approaches, at least one of the optical sensors 310may include a photo sensing diode of a type known in the art. However,one or more of the optical sensors 310 may include any other type ofoptical light detecting sensor which would become apparent to oneskilled in the art upon reading the present description. Thus, in someapproaches, at least one of the optical sensors 310 may be operable todetect light emitted from an LED.

In preferred approaches, one or more of the optical sensors 310 arepositioned such that they are in a line-of-sight of the optical sources308 in order to detect optical signals emitted by the optical sources308. Accordingly, the optical sensors 310 may be coupled to an innersurface of an enclosure adjacent the servers 304, 306, e.g., a door, aback wall, a shelf, etc. In the present embodiment, the optical sensors310 are coupled to a tape 312 which is in turn coupled to an innersurface of a door 314 to an enclosure 330 in which the servers 304, 306are stored. As shown, a subset of the optical sensors 310 are in adirect line-of-sight of the optical sources 308, where the line of sightis represented by the arrows 316 extending therebetween. The opticalsensors 310 are preferably spaced on the tape 312 such that one or moreof the optical sensors 310 are aligned (in a direct line-of-sight) withone or more respective optical sources 308 on each of the servers 304,306. The optical sensors 310 that are in a direct line-of-sight of theoptical sources 308 may thereby detect optical signals emitted by theoptical sources 308, as will be described in further detail below.

A wireless communication device 318 is also coupled to the tape 312. Thewireless communication device 318 may be operable to establish a directwireless connection 320 and/or transmit data over the direct wirelessconnection 320. Accordingly, optical signals (corresponding to serverstatus information) relayed from the optical sources 308 and detected bythe optical sensors 310 may be transmitted over the direct wirelessconnection 320 by the wireless communication device 318. The wirelesscommunication device 318 may be a transceiver, may be a transmit-onlydevice, etc.

Referring momentarily to FIG. 3B, a detailed schematic view of a portionof the tape 312 and components coupled thereto, is illustrated accordingto one embodiment. As shown, optical sensors 310 are each coupled to arespective integrated circuit 350 via a physical electrical connection.Moreover, each of the integrated circuits 350 may also be coupled toeach other along the length of the tape 312. Although only one array ofoptical sensors 310 and integrated circuits 350 are shown in theembodiment of FIG. 3B, any configuration of multiple optical sensors 310and/or integrated circuits 350 may be implemented. For example, lookingto FIG. 3C, multiple arrays of optical sensors 310 and integratedcircuits 350 may be coupled together on a sheet 356, e.g., as a matrix.

The sheet 356 and/or tape 312 may be electrically configured such thatthey may be cut down to a desired size without affecting performance ofthe optical sensors 310 and/or integrated circuits 350 remaining afterthe cutting. The integrated circuits 350 may be coupled to a commonpower source 352 (power line) and communication line 354. Both of thecommon power source 352 and communication line 354 may also be coupledto the wireless communication device 318. The common power source 352may be used to power each of the integrated circuits 350 and thewireless communication device 318. According to an illustrativeapproach, a section of tape 312/sheet 356 cut from a supply roll/supplysheet may be soldered to a spliced USB cable that is plugged into a USBport on the front of one of the servers in the rack. The spliced USBcable may thereby supply power to the plurality of components along thetape 312/sheet 356. In another illustrative approach, an alternatingcurrent (AC) or direct current (DC) barrel connector may be used toprovide power to the plurality of components along the tape 312/sheet356. Moreover, the communication line 354 may be used to transfer theoptical signals detected by the optical sensors 310 to the wirelesscommunication device 318. However, in some approaches the wirelesscommunication device 318 may be coupled to one or more of the integratedcircuits 350 and/or optical sensors 310 via a wireless connection whichfacilitates transfer of the detected optical signals therebetween.

It should be noted that a digital or analog representation of theoptical signals detected by the optical sensors 310 is preferablytransmitted rather than the optical signals themselves. In other words,the optical signals detected by the optical sensors 310 may not betransmitted along to the integrated circuits 350, the wirelesscommunication device 318, a mobile device 322, etc. as optical signals,but rather as data which represents the optical signals detected. Forexample, looking to FIG. 3A, the rightmost optical source 308 of therightmost server 306 may emit a red light which flashes at a frequencyof 1 flash per second. The electrical signal (e.g., current, voltage,etc.) produced by the optical sensor 310 as it detects this red,flashing optical signal may serve as the digital or analogrepresentation of the optical signal. Moreover, these electrical signalsmay be combined with other information such as the identity of theoptical sensor 310 which detected the optical signal, the position ofthe optical sensor 310 which detected the optical signal along the arrayof optical sensors 310, the x-axis and y-axis location of the opticalsensor 310 which detected the optical signal in a matrix of opticalsensors 310 (e.g., see FIG. 3C), etc., to form a more complete digitalor analog representation of the detected optical signal. The integratedcircuits 350 may add such other information.

In some embodiments, the orientation (placement) of each of the opticalsensors 310 may be designed to correspond to the specific orientation ofoptical sources 308 on the servers 304, 306. Accordingly, each of theoptical sensors 310 may be oriented such that they detect opticalsignals from a respective optical source 308. However, in otherapproaches the strip of tape 312 having an array of optical sensors 310may be coupled to the inner surface of an enclosure adjacent the servers304, 306 without aligning any specific ones of the optical sensors 310with any of the optical sources 308. The optical sensors 310 may begrouped along the strip of tape 312 or sheet 356 with a sufficientlyhigh density (e.g., resolution) such that an optical source 308 may bedetected by one or more of the optical sensors 310 without specificallyaligning the optical sensors 310 with the optical source 308. It followsthat a given optical signal may be detected by more than one opticalsensor 310. Accordingly, a controller, processor, the integratedcircuits, etc., may determine which optical sensor 310 received thestrongest detection of the optical signal and disregard the otherdetections from the other optical sensors 310 as redundant. In anotherapproach, detection by multiple optical sensors 310 may be used todiscern an approximate location of the optical signal.

As described above, optical signals emitted by the optical sources 308and detected by the optical sensors 310 may correspond to a status ofthe respective server. Thus, the representation of the detected opticalsignal may further be decoded to reveal the server status informationbeing relayed by the optical sources 308 via optical signals. Returningto the previous example, the red light emitted by the rightmost opticalsource 308 of the rightmost server 306 at a frequency of 1 flash persecond may be represented by the electrical signals (e.g., current,voltage, etc.) output by the optical sensor 310 that detects it.However, the representation of the optical signal may further be decodedto reveal the server status information included in the detected opticalsignal. According to the example, the red light flashing from therightmost optical source 308 of the rightmost server 306 may representthat a processor in the rightmost server 306 has experienced aconnection error. Other combinations of flashes, colors, temporalillumination, etc. may represent various states and conditions of theserver. For example, the red light flashing two times in rapidsuccession with a pause between each set of two flashes may representanother type of error, and so on. Detection of a steady light output mayindicate no errors. Thus, the integrated circuits 350, the wirelesscommunication device 318, a controller coupled to the wirelesscommunication device 318, a device (e.g., mobile device 322) to whichthe representation of the optical signal is transmitted to, etc. maydecode the representation of the optical signal to determine thecorresponding server status information which conveys that a processorin the server 306 has experienced a connection error. It follows that insome approaches, each of the integrated circuits 350 may be operable todecode the representations of the optical signals detected by therespective optical sensors 310 coupled thereto, preferably determiningserver status information from the decoded optical signals, as will bedescribed in further detail below (e.g., see FIG. 5).

Returning again to FIG. 3A, the wireless communication device 318 againis preferably operable to establish a direct wireless connection 320with a nearby electrical device. Depending on the desired embodiment,the wireless communication device 318 may establish a direct wirelessconnection with a wireless controller positioned on one or more of theservers 304, 306, with a wireless module of a nearby electrical devicesuch as a laptop computer, a mobile device 322, etc. In this embodiment,the wireless communication device 318 has established a direct wirelessconnection 320 with a mobile device 322 that is in close enoughproximity. The wireless communication device 318 may establish a directwireless connection with the mobile device 322 by performing the stepsof a predetermined protocol, as would be appreciated by one skilled inthe art upon reading the present description. According to variousapproaches, the wireless communication device 318 may be operable toestablish the direct wireless connection between the wirelesscommunication device 318 and the mobile device 322 using any desiredprotocol, e.g., including Bluetooth, near field communication, Wi-FiDirect, etc.

Once a direct wireless connection 320 has been established by thewireless communication device 318, representations of optical signalsdetected by the optical sensors 310 and/or server status informationcorresponding to the detected optical signals may be sent from thewireless communication device 318 to the mobile device 322 via thedirect wireless connection 320. Thus, the server status information iswirelessly transmitted to the mobile device 322 from the wirelesscommunication device 318 without using any physical connection betweenthe mobile device 322 and the wireless communication device 318.

In further approaches, the wireless communication device 318 may be partof a network access point with direct wireless connection capability.Thus, the network access point may also or alternatively be coupled to adata network 324 via a network connection 326. According to one example,which is in no way intended to limit the invention, the wirelesscommunication device 318 may be a Wi-Fi access point with Bluetoothcapability, which is operable to bridge the Bluetooth to Wi-Fi, therebymaking the wireless communication device 318 accessible by a datacenternetwork. It follows that the network connection 326 may be utilized totransmit the representations of the optical signals detected by theoptical sensors 310 and/or server status information from the wirelesscommunication device 318 to a remote computer 328 also connected to thedata network 324 via a respective network connection 327.

As mentioned above, the wireless communication device 318 may beoperable to establish a direct wireless connection 320 with a mobiledevice 322. Furthermore, the direct wireless connection 320 may be usedto transmit server status information received from optical sensors.Looking to FIG. 4, a flowchart of a method 400 is shown according to oneembodiment. It should be noted that the operations included in method400 are described as being performed from the perspective of a wirelesscommunication device, e.g., as shown in FIGS. 3A-3B. However, the method400 may be performed in accordance with the present invention in any ofthe environments depicted in FIGS. 1-3B, among others, in variousembodiments. Of course, more or less operations than those specificallydescribed in FIG. 4 may be included in method 400, as would beunderstood by one of skill in the art upon reading the presentdescriptions.

Each of the steps of the method 400 may be performed by any suitablecomponent of the operating environment. For example, in variousembodiments, the method 400 may be partially or entirely performed by acontroller, a processor, etc., or some other device having one or moreprocessors therein. The processor, e.g., processing circuit(s), chip(s),and/or module(s) implemented in hardware and/or software, and preferablyhaving at least one hardware component may be utilized in any device toperform one or more steps of the method 400. Illustrative processorsinclude, but are not limited to, a central processing unit (CPU), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA), etc., combinations thereof, or any other suitablecomputing device known in the art.

As shown in FIG. 4, operation 402 of method 400 includes the wirelesscommunication device establishing a direct wireless connection between amobile device and the wireless communication device. As shown in FIGS.3A-3B, although the wireless communication device 318 is coupled to theoptical sensors 310 by a physical or wireless electrical connection, thewireless communication device 318 is also preferably operable toestablish a direct wireless connection with another device. Aspreviously mentioned, a direct wireless connection may be establishedbetween a mobile device nearby and the wireless communication deviceusing any desired protocol, e.g., including Bluetooth, near fieldcommunication, Wi-Fi Direct, etc.

Moreover, operation 404 includes the wireless communication devicereceiving server status information corresponding to optical signalsdetected by the one or more optical sensors. The optical sensors arepreferably positioned such that they are operable to detect opticalsignals from one or more optical sources of one or more servers, e.g.,as depicted in FIG. 3A. Moreover, the server status information may bereceived from the optical sensors, and/or integrated circuits coupledthereto, via the physical or wireless electrical connection extendingbetween the wireless communication device, the optical sensors, and/orthe integrated circuits.

As described above, optical signals detected by optical sensors and/orrepresentations of such optical signals may be decoded to determine theserver status information corresponding thereto. Thus, the server statusinformation received in operation 404 may be determined by decoding thedetected optical signals. According to some approaches, one or moreintegrated circuits coupled to the one or more optical sensors may beused to decode the detected optical signals. Thus, each of the one ormore integrated circuits in a given embodiment may be operable to formthe server status information by decoding representations of the opticalsignals detected by a respective optical sensor.

In some alternative embodiments, rather than the wireless communicationdevice receiving server status information in operation 404, digital oranalog representations of the detected optical signals may be received.Again, the wireless communication device, or a controller coupledthereto, may be used to decode digital or analog representations of thedetected optical signals in order to determine the corresponding serverstatus information.

With continued reference to FIG. 4, method 400 further includes thewireless communication device transmitting the server status informationto the mobile device via the direct wireless connection. See operation406. Once the mobile device receives the server status information, themobile device may be operable to use the server status information tomanage the servers which correspond to the server status information,e.g., see operation 508 below.

Furthermore, optional operation 408 includes the wireless communicationdevice establishing a network connection with a data network, whileoptional operation 410 includes the wireless communication devicetransmitting the server status information to the data network (or adevice coupled thereto) via the network connection. Again, the wirelesscommunication device may be part of a network access point with directwireless connection capability in some embodiments. Thus, the wirelesscommunication device may establish a network connection to a datanetwork for sending the server status information to a device (e.g.,computer) via the data network.

Looking to FIG. 5, a flowchart of a method 500 is shown according to oneembodiment. It should be noted that the operations included in method500 may be performed by various ones of the devices (e.g., components)included in system 300 of FIGS. 3A-3B. For example, any one or more ofthe processes included in method 500 may be performed by an integratedcircuit, a wireless communication device, a mobile device, a computercoupled to a data network via a network connection, etc., depending onthe desired embodiment. However, the method 500 may be performed inaccordance with the present invention in any of the environmentsdepicted in FIGS. 1-3B, among others, in various embodiments. Of course,more or less operations than those specifically described in FIG. 5 maybe included in method 500, as would be understood by one of skill in theart upon reading the present descriptions.

Each of the steps of the method 500 may be performed by any suitablecomponent of the operating environment. For example, in variousembodiments, the method 500 may be partially or entirely performed by acontroller, a processor, etc., or some other device having one or moreprocessors therein. The processor, e.g., processing circuit(s), chip(s),and/or module(s) implemented in hardware and/or software, and preferablyhaving at least one hardware component may be utilized in any device toperform one or more steps of the method 500. Illustrative processorsinclude, but are not limited to, a central processing unit (CPU), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA), etc., combinations thereof, or any other suitablecomputing device known in the art.

As shown in FIG. 5, operation 502 of method 500 includes the devicereceiving representations of optical signals detected by one or moreoptical sensors. The representations of the optical signals in this andany other embodiment may be any type of signal, data, etc. derived fromthe output of the one or more optical sensors. As previously noted, adigital or analog representation of the optical signals detected by theone or more optical sensors may be received. Moreover, in someapproaches, such representations of the optical signals may representthe raw optical signal, e.g., frequency, number of flashes, wavelength,duration, etc. In other approaches, the signal from the optical sensorsmay be converted to other forms of data that represent the opticalsignals originally detected by an optical sensor, e.g., a digital codethat corresponds to the optical signals as derived from a table.

New representations of optical signals detected by one or more opticalsensors may be received periodically according to a given frequency, inresponse to the optical sensors receiving a request from a user,automatically upon the optical sensors detecting a change in the opticalsignals displayed by optical sources on the servers, etc. Accordingly,some approaches may implement software which periodically scans forchanges in the representations of the optical signals received.

Decision 504 includes the device determining whether the receivedrepresentations of the optical signals are different than previouslyreceived corresponding representations of optical signals. Any number ofpreviously received representations of optical signals may be stored inmemory and may be compared to newly received correspondingrepresentations of optical signals. Thus, according to one approach, themost recent previously received representations of optical signals (thelast received representations of optical signals) may be compared tonewly received representations of optical signals. If the newly receivedrepresentations of optical signals matches the last representations ofoptical signals, it may be determined that the statuses of the servershave not changed, and no additional action may be called for.Accordingly, method 500 returns to operation 502 in response todetermining that the received representations of the optical signals arenot different than previously received corresponding representations ofoptical signals.

However, method 500 proceeds to operation 506 in response to determiningthat the received representations of the optical signals are differentthan previously received corresponding representations of opticalsignals. As shown, operation 506 includes the device decoding therepresentations of the optical signals to determine server statusinformation corresponding to one or more servers. Depending on thedevice, the decoding may be performed differently. According to someapproaches, the device may be a wireless communication device, and thedecoding is performed by a processor coupled to the wirelesscommunication device by a physical electrical connection. In otherapproaches, the device may be a mobile device, and the decoding may beperformed by a controller integrated with the mobile device. Thecontroller may be operable to implement software capable of decoding therepresentations of the optical signals received.

Moreover, optional operation 508 includes the device using the serverstatus information to manage the servers corresponding to the serverstatus information. As previously mentioned, once the server statusinformation has been determined, it is preferably used to decide whataction should be taken with regard to one or more of the servers. Forinstance, if server status information is received which indicates thatone of the servers coupled to a storage drive is experiencing a givenerror, appropriate action may be taken to correct the identified error.According to an example, a mobile device may receive server statusinformation indicating that the power supply to a server has failed. Themobile device may thereby display a warning message to a user informingthe user of the power supply failure along with repair instructions, aservice technician phone number, preventative steps to prevent furthererrors, etc. According to another example, a wireless communicationdevice may receive server status information indicating that one of theservers is due for a software update. The wireless communication devicemay thereby send a software update request to a computer via a networkconnection to a data network and/or a nearby electrical device coupledto the wireless communication device via a wireless connection.

Various embodiments described herein are able to efficiently manage andnormalize server status information which corresponds to optical sourceson the server interfaces. This may be particularly desirable indatacenters that implement servers which correspond to a number ofdifferent vendors in a rack, as server interfaces are often vendorspecific. Some of the embodiments described herein may also be useful indatacenters that wish to simply bypass management of the serversthemselves altogether while still maintaining minimalistic server statusmanagement.

Some embodiments herein may be used to manage the status of multipleservers in a rack by implementing a novel status harvesting systemarchitecture which is able to detect optical signals displayed on anouter surface of one or more servers, regardless of a vendor of each ofthe servers. Moreover, these optical signals (and the server statusinformation corresponding thereto) may be acquired without using a BMCwhich may or may not be included in each of the respective servers, andwithout implementing any server firmware that is vendor specific. Thisis particularly desirable as various embodiments described herein areable to avoid any dependency on server firmware levels, as the firmwaremay de-feature the server status information detection system(inadvertently) and/or be used to potentially mask issues.

It follows that various embodiments described herein may enable animproved process of managing servers over conventional implementations.By efficiently detecting and decoding the optical signals from multiplelight indicators on various servers in a given rack as described herein,an improved manner of managing multiple servers is achieved. Moreover,wireless connections to systems implementing such optical sensordetection and decoding may further introduce the desired ability tomanage multiple servers in a rack without physically inspecting eachone, without relying on a server BMC and/or server BMC firmware.

The inventive concepts disclosed herein have been presented by way ofexample to illustrate the myriad features thereof in a plurality ofillustrative scenarios, embodiments, and/or implementations. It shouldbe appreciated that the concepts generally disclosed are to beconsidered as modular, and may be implemented in any combination,permutation, or synthesis thereof. In addition, any modification,alteration, or equivalent of the presently disclosed features,functions, and concepts that would be appreciated by a person havingordinary skill in the art upon reading the instant descriptions shouldalso be considered within the scope of this disclosure.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. Thus, the breadth and scope of an embodiment of the presentinvention should not be limited by any of the above-described exemplaryembodiments, but should be defined only in accordance with the followingclaims and their equivalents.

What is claimed is:
 1. A system, comprising: a wireless communicationdevice operable to establish a wireless connection and transmit serverstatus information over the wireless connection; and an optical sensoroperable to detect optical signals from an optical source of a server,wherein the wireless communication device and the optical sensor arecoupled together by a physical or wireless connection.
 2. The system asrecited in claim 1, wherein the optical sensor includes a photo sensingdiode.
 3. The system as recited in claim 1, wherein the optical sensoris coupled to an integrated circuit, wherein the integrated circuit isable to decode representations of the optical signals detected by theoptical sensor, wherein the optical signals represent server statusinformation which corresponds to the server.
 4. The system as recited inclaim 1, wherein the optical sensor is coupled to an inner surface of anenclosure adjacent the server.
 5. The system as recited in claim 1,wherein the wireless connection is a direct wireless connection, whereinthe wireless communication device is able to establish the directwireless connection using a protocol, wherein the protocol is selectedfrom a group consisting of: Bluetooth, near field communication andWi-Fi Direct.
 6. The system as recited in claim 1, wherein the wirelesscommunication device is part of a network access point with wirelessconnection capability, wherein the network access point is coupled to adata network via a network connection for sending the server statusinformation to a computer via the data network.
 7. A computer programproduct comprising a non-transitory computer readable storage medium,the computer readable storage medium having program code stored thereon,the program code executable by a computer to cause the computer toperform a process comprising: establishing, by a wireless communicationdevice, a wireless connection between a mobile device and the wirelesscommunication device, the wireless communication device being coupled toan optical sensor; receiving, by the wireless communication device,server status information corresponding to optical signals detected bythe optical sensor; and transmitting, by the wireless communicationdevice, the server status information to the mobile device via thewireless connection, wherein the optical sensor is positioned to detectoptical signals from an optical source of a server.
 8. The computerprogram product as recited in claim 7, wherein the optical sensorincludes a photo sensing diode.
 9. The computer program product asrecited in claim 7, wherein the optical sensor is coupled to anintegrated circuit, wherein the integrated circuit is able to form theserver status information by decoding representations of the opticalsignals detected by the optical sensor.
 10. The computer program productas recited in claim 7, wherein the optical sensor is coupled to a serverrack supporting the server.
 11. The computer program product as recitedin claim 7, wherein the optical sensor is coupled to an inner surface ofan enclosure adjacent the server.
 12. The computer program product asrecited in claim 7, wherein the wireless connection is a direct wirelessconnection, wherein the direct wireless connection is established usinga protocol, wherein the protocol is selected from a group consisting of:Bluetooth, near field communication and Wi-Fi Direct.
 13. The computerprogram product as recited in claim 7, wherein the wirelesscommunication device is part of a network access point with wirelessconnection capability, wherein the network access point is coupled to adata network via a network connection for sending the server statusinformation to a computer via the data network.
 14. The computer programproduct as recited in claim 7, wherein the wireless communication deviceis coupled to the optical sensor by a physical or wireless electricalconnection.
 15. A computer program product comprising a non-transitorycomputer readable storage medium, the computer readable storage mediumhaving program code stored thereon, the program code executable by acomputer to cause the computer to perform a process comprising:receiving, by a device, representations of optical signals detected byan optical sensor; and decoding, by the device, the representations ofthe optical signals to determine server status information correspondingto a server, wherein the optical sensor is positioned to detect opticalsignals from an optical source of the server.
 16. The computer programproduct as recited in claim 15, wherein the device includes a wirelesscommunication device, wherein the wireless communication device iscoupled to the optical sensor by a physical or wireless connection,wherein the representations of the optical signals are received from theoptical sensor via the physical or wireless connection.
 17. The computerprogram product as recited in claim 15, wherein the device is anintegrated circuit, wherein the integrated circuit is coupled to theoptical sensor by a physical electrical connection, wherein therepresentations of the optical signals are received from the integratedcircuit via the physical electrical connection.
 18. The computer programproduct as recited in claim 15, wherein the device is a mobile device,wherein the representations of the optical signals are received from awireless communication device via a wireless connection between themobile device and the wireless communication device.
 19. The computerprogram product as recited in claim 18, wherein the wireless connectionis a direct wireless connection, wherein the direct wireless connectioncorresponds to a protocol, wherein the protocol is selected from a groupconsisting of: Bluetooth, near field communication and Wi-Fi Direct. 20.The computer program product as recited in claim 15, the program codeexecutable by the computer to cause the computer to perform the processcomprising: determining, by the device, whether the receivedrepresentations of the optical signals are different than previouslyreceived corresponding representations of optical signals, wherein thedecoding is performed in response to determining that the receivedrepresentations of the optical signals is different than the previouslyreceived corresponding representations of optical signals.